//
//  main.m
//  test
//
//  Created by 郭志远 on 2023/11/23.
//

#import <Foundation/Foundation.h>
/*
 结构体作为对象的属性
 
 合理设计一个学生类
 学生有姓名，生日两个属性和说出自己姓名生日方法
 要求利用设计的学生类创建学生对象，并说出自己的姓名和年龄
 
 描述学生类
 
 事物名称：学生
 属性：姓名，生日
 行为：说出姓名和生日
 */
typedef struct {
    int year;
    int month;
    int day;
} Date;

@interface Student : NSObject

{
    @public
    NSString * _name;
    Date _birthday;
}

- (void)say;

@end

@implementation Student

- (void)say
{
    NSLog(@"name = %@, year = %i, month = %i, day = %i", _name, _birthday.year, _birthday.month, _birthday.day);
}

@end
int main(int argc, const char * argv[]) {
    Student *stu = [Student new];
    stu->_name = @"gzy";
    //结构体只能在定义的时候初始化
//    stu->_birthday = (Date){1998, 1, 17};
    stu->_birthday.year = 1111;
    [stu say];
    return 0;
}
